package com.wfh.core.saver;

import cn.hutool.core.util.StrUtil;
import com.wfh.ai.model.HtmlCodeResult;
import com.wfh.common.ErrorCode;
import com.wfh.exception.BusinessException;
import com.wfh.model.enums.CodeGenTypeEnums;

/**
 * @Title: HtmlCodeSaverTemplate
 * @Author wangfenghuan
 * @Package com.wfh.aigenerator.core.saver
 * @Date 2025/7/30 16:28
 * @description:
 */
public class HtmlCodeSaverTemplate extends CodeFileSaverTemplate<HtmlCodeResult>{
    @Override
    protected void saveFiles(HtmlCodeResult result, String baseDirPath) {
        // 保存html文件
        writeToFile(baseDirPath, "index.html", result.getHtmlCode());
    }

    @Override
    protected CodeGenTypeEnums getCodeType() {
        return CodeGenTypeEnums.HTML;
    }

    /**
     * 重写父类的校验方法
     * @param result
     */
    @Override
    protected void validateInput(HtmlCodeResult result) {
        // 先调用父类的校验方法
        super.validateInput(result);
        // html代码不能为空
        if (StrUtil.isBlank(result.getHtmlCode())) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR, "html代码不能为空");
        }
    }
}
